Linux 服务器使用 docker 运行 Alas

您所在的位置:网站首页 bilibili修改密码后 其他设备的账号会退出吗 Linux 服务器使用 docker 运行 Alas

Linux 服务器使用 docker 运行 Alas

2023-04-02 01:05| 来源: 网络整理| 查看: 265

前言

Alas上新了 AlasApp_0.4.1_fullcn 版本,因为  Electron 的原因,可能不支持在 win7/8 和 winserver2012 设备上运行

我的第一篇专栏写的是使用 winserver2012 服务器运行 alas  ,

日后可能会有新的问题 ( 现在能用就别管

所以我在这里写一份比较小白的 linux 安装 Alas 教程

免责声明

我是文科专业一路读上来的,计算机什么的我都不懂

我的技术奇菜无比,故本文必然破绽百出。您若发现问题还请温柔提醒,不要人参公鸡。

本文内容请您自行判断是否可信可靠可用,若您根据本文内容建立和使用 VPS 服务器时出了任何问题和不良结果,本人概不负责。

基于本文` 零基础用户  的目标受众,许多内容会尽力详尽说明,所以语言偏啰嗦,请做好心理准备。

原料准备

准备一个国内的 linux 服务器/设备

如果使用 服务器 + 云手机 运行Alas,需要两台设备都要在 CN 网络环境内

如果 服务器在深圳 ,云手机在香港,因为有墙的存在,两者的延迟可能是绕地球五圈

服务器基本设置

系统选择

服务器我在腾讯买的,其他的厂商可能后台会不一样

这里因为个人习惯,我使用了 debian11 系统。 用 ubuntu 也可以

重置密码

勾选离线重置,等待重启

SSH工具

electerm:https://electerm.html5beta.com

GitHub地址:  https://github.com/electerm/electerm

界面挺好看的,就是运存占用稍微有点大。你下载其它的SSH工具也可以

远程登陆

打开 electerm ,点击左侧的加号

主机地址: 填你服务器的公网ip地址

用户名: 填服务器默认的 root 用户

密码: 填你在上一步重置的密码

端口: 填默认的 22 端口

保存并连接

如果你的信息都填写正确,你将会看到类似下图的界面,说明已登录成功

认识命令行窗口

这个界面,就等于远程服务器的 桌面 ,但它没有你熟悉的图标和鼠标,没有绚丽的色彩,有的只是简单文字,这就是 命令行界面

接下来的所有操作, 都会在这个命令行界面中完成,你说一句,它做一句

第一次更新 linux 软件

Linux 下,每个 APP 都叫做一个“包” (package)。管理 APP 的程序自然就叫做“包管理器”(Package Manager)。你可以通过它安装、更新、卸载各种软件。现在你只需要知道 Debian 系统的包管理器叫做 `apt` 即可。接下来,我们就先使用 `apt` 做一次软件的全面更新,让你熟悉它的基本操作。

现在输入第一条命令

然后输入第二条命令,并在询问是否继续安装 `(Y/n)` 时输入 `y` 并回车确认,开始安装

完整流程图示意如下

服务器安全防护

我们的服务器不具有太高的价值, 就挂个 Alas ,一般不会吸引到高水平的攻击,需要面对的基本都是一些自动化脚本的恶意扫描和登录尝试,跟着本文做一些基础的防护即可

将 SSH 登陆端口设置为 非22端口

SSH 远程登录程序配置文件位置: /etc/ssh/sshd_config

在 Windows 下,你会找到文件并双击,在 Linux 下该怎么办呢?

文件名太长的话,可以按 tab 补全

比如说你已经输入了 nano /etc/ssh/sshd ,此时你按一下键盘的 tab 键,会自动补全至 nano /etc/ssh/sshd_config 

nano: 你可以粗略的理解为 windows 的记事本

文件打开后,你就进入了 nano 的界面,稍微观察一下,你会发现,它把重要的快捷键都显示在屏幕下方了(下图红框内),直接开卷考试、不用死记硬背

^G: 键盘 ctrl + G 弹出帮助

^O: 键盘 ctrl + O 保存文件

^X: 键盘 ctrl + O 退出

^W: 键盘 ctrl + W 搜索文本

第一步: 使用 ctrl + w 进入搜索模式,输入 port 22 并回车

第二步: 删除 22 并修改成 11451 , ( 在 1024 - 65535 之间取一个合理的整数就好了

说明: 如果这一行开头有个 # ,证明这一行 “不生效" (被注释掉了),把 # 删掉就好。

第三步: 保存文件并退出,保存是 ctrl+o 然后 按回车,退出是 ctrl+x

第四步: 放行相关端口

由于腾讯轻量云服务器的限制,防火墙规则只能在腾讯的后台修改,所以本文不使用 ufw。统一使用腾讯云的后台来修改防火墙规则

第五步: 重启 ssh 服务,使变更生效

第六步: 使用新 ssh 端口登陆服务器

先不要关闭当前的窗口,新建一个配置进行连接

成功登陆即可关闭旧 22 窗口,同时在防火墙处删去旧的 22 规则

这里也可以顺便把 ping 规则删了

使用非 root 用户进行登陆

Linux 系统中的 root ,不仅仅是一个管理员账号那么简单。它是整个系统的主宰,是至高无上的神。一旦root 账号出现安全问题,整个系统都只能任人鱼肉

第一步: 新建一个非 root 用户

需要你输入两次一样的密码,密码在输入过程中不可见

然后需要输入一些个人信息,狂按回车,最后按 Y 就好了

第二步: 赋予普通用户 sudo 权限

sudo:  让普通用户临时获得 root 的权限

腾讯云的 debian 服务器默认安装了 sudo ( 没安就手动安装一遍

第三步: 把 cookmaker 用户加入 sudo 名单里

在  User Privilege Specification 下加入一行  cookmaker ALL=(ALL) NOPASSWD: ALL 即可

说明: cookmaker 改成你自己的用户名

我要特别说明的是 NOPASSWD 这个设置,它的意思是 cookmaker 用户临时使用`root`权限时,不用额外输入密码。这与一般的安全建议相反

如果你希望遵守传统习惯、每次使用 sudo 时需要输入密码,那么这一行改成  cookmaker ALL=(ALL:ALL) ALL  即可。

第四步: 禁用 root 用户登陆

找到 PermitRootLogin Yes 这一项,然后把它后面的设定值改为 no 即可。还记得怎么操作吗?

使用 ctrl + w 进入搜索模式,输入 PermitRootLogin  并回车

删除 yes 并改成 no

保存文件并退出。还记得怎么操作吗?

保存是 ctrl+o 然后按回车,退出是 ctrl+x

跟上面一样,先不要关闭当前的命令行窗口,新建一个配置进行连接

成功连上了再关闭旧窗口,你可以看到,此时左侧的用户名已经从 root 变成了 cookmaker

如果你要切换成 root 用户的话

从 root 用户切回 cookmaker 用户的话

使用密钥登陆而不是密码登陆

在非root用户下

使用 ssh-keygen 生成 ed25519 密钥

输入按回车,窗口输出如下

继续回车,输出如下

注意两行内容

私钥需要下载到你的本地电脑上,公钥放在你的服务器上

下载私钥在你的电脑上

右键下载私钥,私钥下载完后,从服务器上删除

请注意保存好你的 私钥 。没有私钥登不上服务器别找我

将 PasswordAuthentication 改成 no

将 PubkeyAuthentication 改成 yes

说明: 如果这一行开头有个 # ,证明这一行 “不生效" (被注释掉了),把 # 删掉就好。

先不要关闭当前的命令行窗口,新建一个配置进行连接

如果你在使用 ssh-keygen 的以下的两个过程中输入了内容,就是创建了一个 "私钥密码" 

安装 Alas 

是的,墨迹了那么久,终于要开始安装alas了

这里只演示 Docker 安装

安装Docker

这里我只写国内服务器环境,TW,HK,MO和外国网络。都没有墙,部分下载的地址会不一样,自己google

将以下内容复制进去

限制 docker 容器日志大小,保存并退出

下载 Alas 源码

源码下载完毕

其中 蓝色的 AzurLaneAutoScript 就是 Alas 的源码文件夹了

第一步,修改Alas配置文件

Alas 配置文件示例保存在 config 目录下

默认配置

修改Dockerfile

开始构建镜像

稍作等待 10~20分钟

镜像构建完毕

启动 Alas

docker-compose.yml 配置如下,根据实际情况进行修改

保存,新建一个会话来启动 alas

启动后会有一行 git 报错

进入容器内部后如下显示

输入

在防火墙放行相应端口,浏览器输入公网 ip地址:端口 ,即可正常使用

注意,直接将 Alas 暴露到公网上请务必设置 webui 密码

Screen 科普

当我们使用 ssh 连接上服务器时,会创建一个会话窗口,在这里我把它叫做 ssh 窗口

然后输入

此时新的对话长这样,只有你的用户名字

然后按住 ctrl + A + D , 就可以回到刚才的 ssh 窗口中 ( screen test1 仍在后台运行

当会话被分离或网络中断时,screen 会话中启动的进程仍将运行,我们可以随时重新连接到 screen 会话

一些常用指令

Alas 报错推送

发生无法处理的异常后,使用 Onepush 推送一条错误信息。

配置方法见文档:

https://github.com/LmeSzinc/AzurLaneAutoScript/wiki/Onepush-configuration-%5BCN%5D

这里只演示QQ机器人的方法,邮箱推送自己看文档 

先阅读 Alas 使用手册 的 gocq 部分,拿自己电脑成功登陆一遍框架

gocqhttp github 发行地址 https://github.com/Mrs4s/go-cqhttp/releases

将本地生成的 device.json 和 session.token 上传到服务器的 gocq 文件夹内

在线查看 Alas log

因为使用 linux 服务器的原因,如果 Alas 报错了,需要查看报错截图和log,都要 ssh 上去服务器下载,有点麻烦。

手机也没有合适的 ssh 软件,有点不方便

这里我使用 nginx 建立一个静态网页来访问Alas的log

在 http{            } 这个块里面插入以下内容

如图所示

复制的时候注意删去我注释的内容

保存

在防火墙放行相应端口,浏览器输入公网 ip地址:端口 ,即可正常使用

差不多这种效果

手机浏览器访问 Alas网页需要浏览器有较新的内核

log 文件夹两三个月上去清一次就好了  如果你报错很多的话,可以一个月一次

我觉得挂个 Alas,不是很有必要折腾一些更加复杂的安全策略

我认为上个密码就差不多了,弄别的东西学习成本也比较高,也要折腾比较久

服务器也没什么重要的东西,你的公网ip和端口别随便泄露出去就好了

怕死的话去腾讯云设置个告警策略

https://cloud.tencent.com/document/product/213/5179

负载超过80%,使用流量超过80% ,小马哥的员工会打电话给你,然后你就上去拔网线

顺便设置几个快照,服务器爆炸了可以还原回去



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3